﻿using System;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using prjKQXS_DLL.Hop_dong;
using prjKQXS_DLL.Dal;
using prjKQXS_DLL;

namespace prjKQXS_UI.View
{
    public partial class frmThanhLy : DevExpress.XtraEditors.XtraForm
    {
        public int idHD = 0;
        bool isthanhly = false;
        DateTime ngaytl = DateTime.Now;
        public frmThanhLy(int idHD, string ma_HD, string tenDaiLy, bool isthanhly, DateTime ngaytl)
        {
            InitializeComponent();
            this.idHD = idHD;
            txtMaHD.Text = ma_HD;
            txtDaiLy.Text = tenDaiLy;
            this.isthanhly = isthanhly;// sửa ngày thanh lý ko thay đổi
            this.ngaytl = ngaytl;// sửa ngày thanh lý ko thay đổi
            if (isthanhly)
            {
                txtNgayTL.Properties.ReadOnly = true;// sửa ngày thanh lý ko thay đổi
                txtNgayTL.DateTime = ngaytl;// sửa ngày thanh lý ko thay đổi
            }
            else
                txtNgayTL.Properties.ReadOnly = false;
        }

        

        private void simpleButton3_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            if (keyData == Keys.F2)
            {
                btnLuu_Click(null, null);
            }
            else if (keyData == Keys.F3)
            {
                btnIn_Click(null, null);
            }
            else if (keyData == Keys.F4)
            {
                this.Close();
            }
            return base.ProcessCmdKey(ref msg, keyData);
        }

        public void loadLyDo()
        {
            SqlConnection conn = new SqlConnection(BienTc.connString);
            DataTable dt = new DataTable();
            try
            {
                SqlDataAdapter da = new SqlDataAdapter("select * from DMLYDOTHANHLY where isPublic = 1", conn);
                da.Fill(dt);
                cboThanhLy.DataSource = dt;
                cboThanhLy.DisplayMember = "Ten_DT";
                cboThanhLy.Text = "";
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
            }

        }
        private void frmThanhLy_Load(object sender, EventArgs e)
        {
            if (!isthanhly)
            {
                txtNgayTL.DateTime = DateTime.Now;
            }
            loadLyDo();
        }
        bool isLuu = false;
        
        private void btnLuu_Click(object sender, EventArgs e)
        {
            bool hehe = true;
            if (cboThanhLy.Text.Trim() == "")
            {
                if (clsCommon.MsgBox("Bạn chưa nhập lý do thanh lý !, Tiếp tục lưu ?", 2) == System.Windows.Forms.DialogResult.No)
                {
                    hehe = false;
                }
            }
            if (hehe)
            {
                isLuu = true;
                HOPDONG_DAL hopdong_dal = new HOPDONG_DAL();
                if (hopdong_dal.thanhLyHD(idHD, txtNgayTL.DateTime, cboThanhLy.Text) > 0)
                {//sửa lưu thanh lý
                    clsCommon.updateRowValue("HopDong", "Ma_DMTinhTrang", "Where id=" + idHD, "05");
                    clsCommon.MsgBox("Lưu lại thành công !", 1);
                    btnLuu.Enabled = false;
                }
            }
        }

        private void btnIn_Click(object sender, EventArgs e)
        {
            if (!isLuu)
            {
                if (clsCommon.MsgBox("Bạn chưa lưu lại, bạn có muốn Lưu ngay?", 2) == System.Windows.Forms.DialogResult.Yes)
                {
                    btnLuu_Click(null, null);
                    frmBaoCao frm = new frmBaoCao(this);
                    frm.ShowDialog();
                }
            }
            else
            {
                frmBaoCao frm = new frmBaoCao(this);
                frm.ShowDialog();
            }
        }
    }
}